Compiz
Compiz is one of the early compositing window managers for the X Window System that uses 3D graphics hardware to create fast compositing desktop effects for window management. The effects, such as a minimization effect and a cube workspace are implemented as loadable plugins. Because it conforms to the Inter-Client Communication Conventions Manual standard, Compiz can substitute for the default Mutter in GNOME or KWin in KDE.
Compiz plugins include the cube effect (example to the right), Alt-Tab application-switching with live previews or icons, and a feature similar to Exposé. The Composite extension to X is used, as is the OpenGL extension GLX_EXT_texture_from_pixmap.[2] The first version of Compiz was released as free software by Novell (SUSE) in January 2006 in the wake of the (also new) Xgl.
Hardware requirements
Initially, Compiz only worked with 3D hardware which was supported by Xgl. Most NVIDIA and ATI graphics cards are known to work with Compiz on Xgl. Since May 22, 2006 Compiz works on the standard X.Org Server, by using AIGLX. Besides the Intel GMA graphics cards, AIGLX also supports using the ATI graphics cards (including R300, R400 and R500 cards) using the open-source radeon driver which supports GLX_EXT_texture_from_pixmap since fall 2006.
NVIDIA's binary drivers (since Version 1.0-9629) support GLX_EXT_texture_from_pixmap on standard X.Org server.
ATI/AMD's binary drivers do since version 8.42.[3]
History
Merge of the Compiz and Beryl communities
On March 30, 2007, discussions between the Beryl (a fork of Compiz) and Compiz communities led to a merger of the two communities which results in two new software packages:
- Compiz, (also Compiz-core) which contains only the core functionality of compiz and base plugins
- Compiz Fusion, consisting of the plugins, decorators, settings tools and related applications from the Beryl and Compiz communities. Compiz Fusion concentrates on installation, configuration and additional plugins to add to the core functionalities of Compiz.
Outcomes include plans to fund a code review panel consisting of the best developers from each community who will see that any code included in a release package meets the highest standards and is suitable for distribution in an officially supported package.[4][5][6]
Further branches
In the fourth quarter of 2008, two separate branches of Compiz were created: compiz++ and NOMAD; compiz++ was geared toward the separation of compositing and OpenGL layers for the rendering of the window manager without compositing effects, and the port from C to C++ programming language.[7] NOMAD was geared towards the improvement of remote desktop performance for Compiz installations.[8] However NOMAD is now defunct and the home page no longer exists.
Merge of the Compiz branches
On February 2, 2009 a conference call was held between developers of Compiz, Compiz++, NOMAD and Compiz Fusion where it was decided to merge the projects together into a unified project, simply named Compiz, with a unified roadmap.[9][10][11] On July 4, 2010, Sam Spilsbury announced the release of Compiz 0.9.0, still in unstable release, with a new API, rewritten in C++.[12]
Features
Internal
- translucency, dimming, desaturation
Included plugins
- Annotate: draw things on top of all windows
- Clone: duplicate output on two screens
- Cube: each virtual desktop becomes a face on a prism
- Decoration: a plugin to communicate decoration settings to a decorator
- D-Bus: D-Bus interfacing
- Fade: windows fade in and out
- Gconf: settings come from GNOME
- Ini: Text based configuration
- Inotify: an inotify plugin which allows plugin developers to easily access inotify. It is currently used to notify settings programs when new plugins are added to the plugins directory.
- Minimize: windows minimize (and maximize/restore) with an animation effect
- Move: window moving
- Place: placement of new windows
- Png: allows plugin developers to load PNG files as textures without worrying about the image format.
- Resize: window resizing
- Rotate: the desktop cube can be rotated
- Scale: an overview of all open windows (similar to Mac OS X's Exposé)
- Svg: allows plugin developers to load svg files as textures. Other image plugins can be added so that extra image types will be seamlessly supported.
- Switcher: active window can be chosen with Alt-Tab
- Video: accelerated video output
- Water: ripples trailing mouse and rain effect
- Widget layer: display a configurable set of widgets (similar to Mac OS X's Dashboard)
- Wobbly: windows wobble while they move (Based on the ACM UIST paper of Bruce H. Thomas and Paul Calder[13])
- Zoom: magnifies a part of screen
- Animation: animation effects for window events
- Benchmark: plugin to gauge performance
- Bs: brightness and saturation control
- Crashhandler: crash handling through gdb and recovery
- Cube Gears: 3D animated gears in the center of the cube
- Cube Reflection: Draws a reflection of the cube
- Group And Tabs: group windows and access them through a tab bar similar to the well-known feature in browsers
- Negative: inverts color of a window or screen
- Put: moves windows using key bindings
- Reflection: watermarks window decorations, similar to Aero-Glass by default
- Screenshot: mode to capture screen regions with the mouse
- Shift Switcher: Provides Flip 3d and Cover Switching of windows
- State: set default opacity and other options for types of windows
- Trailfocus: unfocused windows fade with time
- Mousegestures: advanced mouse gestures to control effect
Third-party plugins
Experimental
Decorators
Compiz uses small programs called decorators which draw the window borders with the usual minimize, maximize and close buttons. Compiz provides two window decorators.
- gtk-window-decorator uses either a basic cairo based rendering engine or can use metacity themes.
- kde-window-decorator uses native KDE themes
In addition, Emerald, Beryl's custom decorator with its own theme format, has been ported to Compiz as part of the Compiz Fusion project (see below) and is available in unofficial packages.[14]
Patches
Along with plugins, the Compiz community developers often release code patches for existing plugins when the feature does not warrant a plugin of its own; or when it utilizes many of the portions of an existing plugin. Code patches can then be sent to the mailing list for eventual inclusion in the main Compiz distribution. The community provides a valuable testing ground for new ideas.
Deployments
Compiz is currently available in the following Linux and Unix distributions (either officially or through a third party):
- Arch Linux - available in the [community] repository.
- CentOS 5
- Debian GNU/Linux - available since version 4 (etch)
- Dreamlinux - installed but not activated
- Fedora installed by default since version 6.
- Foresight Linux - installed but not activated in a default 1.0.1 installation.
- Frugalware Linux - available in the extra repository in 0.4 and onwards (see howto)
- Gentoo Linux - available in main portage tree
- Knoppix - a live CD and DVD distribution offering Compiz Fusion.
- Mandriva Linux - both Xgl and Aiglx with Compiz are included as standard in Mandriva starting in version 2007, and continuing with later versions, including "Mandriva One" live CDs releases.
- openmamba [2] - available as default settings.
- OpenSolaris
- OpenIndiana
- Solaris 11
- PCLinuxOS - both Compiz and Beryl are available in the 2007 release.
- PLD Linux Distribution - available in PLD 3.0 (Th)
- RHEL 5 - Community builds available, although no official support[15]
- RHEL 6
- Slackware Linux - available in the stable 12.0,[16] release.
- openSUSE - Version 10.1 and above of this Linux distribution contains out of the box support for Xgl and Compiz. Tutorials for using Xgl and Compiz on older SUSE Linux version are available at the OpenSUSE.org website.
- SUSE Linux Enterprise Desktop - SLED 10 and newer include both Xgl and Compiz, along with an easy configuration panel icon to enable/disable the visual effects.
- Ubuntu - available in Ubuntu 6.06 LTS and later from in the universe apt repository. A limited version is included by default as "Desktop-Effects" in Ubuntu 7.04 (Feisty Fawn). Since Ubuntu 7.10 (Gutsy Gibbon), Compiz Fusion is enabled by default.[17]
- Linux Mint
- YOPER - installed but not activated in a default installation as well as on version 3 - Titanum's live CD.
Compiz (Aiglx and XGL) can also be set up on almost any other GNU/Linux-based distribution if the code is compiled correctly; however, there is no support available for this and it is not always a straight-forward procedure. In addition to these Linux distributions, PC-BSD also provides out of the box support for Compiz. However, this option is not enabled by default. FreeBSD is also capable, and the required sources are found in the ports tree.[18]
Funding
Canonical Ltd. has hired Sam Spilsbury, lead Compiz developer, to further develop Compiz for Ubuntu.[19]
See also
References
- Notes
External links
Compiz
|
|
Rendering Technologies |
|
|
Related Topics |
|
|
Design |
|
|
|
|
DEs |
Full-featured
|
|
|
Mid-range
|
|
|
Lightweight
|
|
|
Shell
|
|
|
|
WMs |
Full-featured
|
|
|
Lightweight
|
|
|
Minimalistic
|
|
|
|
|
|
Components |
|
|
|
Libraries |
|
|
Frameworks |
|
|
See also |
|
|